home *** CD-ROM | disk | FTP | other *** search
- ;BBS LISTER 2.00 Beta
- ;Date 3-27-94, Sunday
- ;Written by John R. Pepp
- ;Updated : 05-07-94, Saturday
- ;Program No. 2 - A General BBS listing Program!
- ;FREEWARE
- ;Adding additional information, such as Modem Type, BBS Software used,
- ;Baud Rate and general description.
- ;Adding better editing information, configuration file, a general download
- ;file and a sysop menu.
- ;Future Plans included getting rid of array and maybe RIP support!
-
-
- BOOLEAN No_add 'Only One Per Customer :=)
- BOOLEAN quit 'Main Menu Condition
- BOOLEAN max_bull 'Max Bull Condition
- BOOLEAN found_name
- BOOLEAN main_exit ' Flag to determine Exit Point for 2nd Menu
- BOOLEAN edit_exit ' Flag to exit EDIT MENU
-
- STRING hotkey ; needed for selection
- STRING settings ; configuration settings for BBS Lister
- STRING search_name ;
- STRING name ; Temp variable for bbs name
- STRING number ;
- STRING sysop ; Temp variable for bbs sysop
- STRING b_user ;
- STRING s_date ;
- STRING check ;
- STRING current_user(250) ; Current User Name
- STRING mark(250) ; Mark For LogOFF?
- STRING bbs_name(250) ; Name of BBS
- STRING bbs_phone(250) ; Telephone of BBS
- STRING bbs_sysop(250) ; Sysop of BBS
- STRING bbs_modem(250) ; Type Of Modem
- STRING bbs_soft(250) ; Type Of BBS
- STRING bbs_baud(250) ; baud_rate that is supported
- STRING top_modem(20) ; Most common modems used for bbses
- STRING top_soft(16) ; Most common bbs software used.
- STRING top_baud(5) ; Most common baud rate
- STRING areacode ; Area Code
- STRING prefix ; Pre-Fix
- STRING suffix ; Suffix
- STRING cmd ; Callers Response
- STRING stamp_date(250) ; Date Caller Listed BBS
- STRING line ; Place BBS is Bullentins
- STRING code ; Enter area code for search
- STRING hold ; Get Area Code From Data File
- STRING bbs_desc(250) ; Description of BBS
- STRING bbs_choice ;Number that corresponds with BBS Software
- STRING mod_choice ;Number that corresponds wtth Modem
- STRING baud_choice ;Baud rate
-
- INTEGER a,b,i,j,x,y, max, stored, count,total ; array counters for bbs List
- INTEGER gen_max
- INTEGER sysop_level, bull_level
-
- ;Assign BBS Software to Top_soft array
- LET bbs_choice = "" 'Initialzie variable to zero
- LET mod_choice = "" 'Initialize variable to zero
- LET max = 4
- LET gen_max = 10
- LET top_baud(1) = "1200/2400"
- LET top_baud(2) = "2400"
- LET top_baud(3) = "2400/9600/14000"
- LET top_baud(4) = "9600/14000/19200"
- LET top_baud(5) = "19200+"
- LET top_soft(1) = "PCBoard"
- LET top_soft(2) = "Wildcat!"
- LET top_soft(3) = "The Major BBS"
- LET top_soft(4) = "SearchLight BBS"
- LET top_soft(5) = "TBBS"
- LET top_soft(6) = "TAG"
- LET top_soft(7) = "Remote Access"
- LET top_soft(8) = "GAP"
- LET top_soft(9) = "Renegade"
- LET top_soft(10) = "Powerboard BBS"
- LET top_soft(11) = "Magnum BBS"
- LET top_soft(12) = "Spitfire BBS"
- LET top_soft(13) = "RoboBoard/FX"
- LET top_soft(14) = "RY BBS"
- LET top_soft(15) = "Virtual BBS"
- LET top_soft(16) = "Other BBS Software"
-
- ;Assign Modem to top_modem array
-
- LET top_modem(1) = "AT&T Paradyne"
- LET top_modem(2) = "ATI Technologies"
- LET top_modem(3) = "Cardinal Technologies"
- LET top_modem(4) = "Computer Peripherals"
- LET top_modem(5) = "Digicom Systems"
- LET top_modem(6) = "Galaxy Networks"
- LET top_modem(7) = "GVC Technologies"
- LET top_modem(8) = "Hayes Microcomputer"
- LET top_modem(9) = "Image Communications"
- LET top_modem(10) = "Intel Corporation"
- LET top_modem(11) = "Microcom"
- LET top_modem(12) = "Multi-Tech Systems"
- LET top_modem(13) = "Pratical Peripherals"
- LET top_modem(14) = "Supra Corporation"
- LET top_modem(15) = "Telebit Corporation"
- LET top_modem(16) = "U.S. Robotics"
- LET top_modem(17) = "Ven-Tel"
- LET top_modem(18) = "ZyXEL"
- LET top_modem(19) = "Zoom Telephonics"
- LET top_modem(20) = "Other"
-
- LET no_add = FALSE 'Do not let user's to add more than one bbs listing.
- LET quit = FALSE
- LET max_bull = FALSE
- LET edit_exit = FALSE
- LET main_exit = FALSE
- LET found_name = FALSE
-
- LET count = 0 'Reset total BBS Listings
- LET total = 6 'Max. Number of Logoff Listings!
- LET cmd = " "
-
- ; Get information from a configuration file!
- FOPEN 5, PPEPATH()+"CONF", O_RD, S_DW
- FGET 5, settings
- FCLOSE 5
- TOKENIZE settings
- LET sysop_level = GETTOKEN()
- LET bull_level = GETTOKEN()
- LOG "****ENTERED LISTER.PPS****", TRUE
- LET hotkey = ""
- GOSUB main_header
-
- WHILE (hotkey <> "Q") DO
- LET hotkey = ""
- LET hotkey = INKEY()
- LET hotkey = UPPER(hotkey)
-
- IF (hotkey = "A") THEN
-
- GOSUB get_info
- IF (CURSEC() >= sysop_level) THEN
- GOSUB data_entry
- LET no_add = TRUE
- GOSUB main_header
- ELSE IF (!(no_add)) THEN
- GOSUB data_entry
- GOSUB main_header
- ELSE IF (no_add) THEN
- GOSUB edit_menu
- GOSUB main_header
- ENDIF
- ELSE IF (hotkey = "!") THEN
- IF (CURSEC() >= sysop_level) THEN
- GOSUB sysop_com
- GOSUB main_header
- ENDIF
- ELSE IF (hotkey = "V") THEN
- GOSUB view
- GOSUB main_header
- ELSE IF (hotkey = "G") THEN
- GOSUB gen_view
- GOSUB main_header
- ELSE IF (hotkey = "D") THEN
- DOWNLOAD "LISTING.TXT"
- GOSUB main_header
- ELSE IF (hotkey = "L") THEN
- DISPFILE PPEPATH()+"GOODBYEG",SEC+GRAPH+LANG 'LOGOFF SCREE
- BYE
- ENDIF
- ENDWHILE
-
- END 'Main Program
-
- :main_header
- CLS
- PRINTLN "@X71╔═══════════════════════════════╤══════════════════════╤══════════════════════╕@X07"
- PRINTLN "@X71║ @X74Add@X7F/@X70View@X7F/@X7EEdit @X7FMenu @X71│ @X70LISTER @X7E2.00 @X71│ @XFER@XF0E@XF1G@XF2I@XF3S@XF4T@XF5E@XF6R@XF8E@XF9D @X70VERSION @X71│@X07"
- PRINTLN "@X71╠═══════════════════════════════╧══════════════════════╧══════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71A@X70)dd/Edit BBS Listing @X74██▓▓▒▒ @X7FAdd your BBS Here! @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71V@X70)iew BBS Listings @X74██▓▓▒▒ @X7FView BBS Listings by AREA CODE @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71G@X70)eneral BBS Listings @X74██▓▓▒▒ @X7FGeneral BBS Listings @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71!@X70)Sysop Menu @X74██▓▓▒▒ @X7FSysop Menu @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71D@X70)ownload Text BBS Listing @X74██▓▓▒▒ @X7FDownload BBS Listing @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71Q@X70)uit to Main Menu @X74██▓▓▒▒ @X7FQuit to Main Menu @X71│@X07"
- PRINTLN "@X71╠═════════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X74▒▒▓▓██ @X70(@X71L@X70)ogoff/Goodbye @X74██▓▓▒▒ @X7FLeaving So Soon? @X71│@X07"
- PRINTLN "@X71╙─────────────────────────────────────────────────────────────────────────────┘@X07"
- RETURN
-
- :VIEW
- BOOLEAN match
-
- LET match = FALSE
- LET a = 0
- LET b = 1
-
- LET code = ""
- CLS
- INPUTSTR "Enter Area Code to search ", code, @X0B, 3, "1234567890",FIELDLEN+GUIDE+NEWLINE
- LET CODE = "@X74"+CODE
- FOPEN 1, PPEPATH()+"BBS", O_RD, S_DW
- FREWIND 1
-
- GOSUB header
-
- FGET 1, name
- FGET 1, number
- FGET 1, sysop
- FGet 1, s_date
- FGET 1, b_user
- FGET 1, check
- FGET 1, bbs_choice 'Type of Software
- FGET 1, mod_choice 'Type of Modem
- FGET 1, baud_choice
-
- hold = LEFT(number, 4)
- hold = LTRIM(HOLD, "(")
-
-
- WHILE (!FERR(1)) DO
-
-
-
- IF (RIGHT(code,3) = hold) THEN
-
- IF (b > max) THEN
- GOSUB header
- LET b = 1
- ENDIF
-
- ANSIPOS 1,4+a
- PRINTLN "@X70│ @X7F║@X07"
- ANSIPOS 1,5+a
- PRINTLN "@X70│ @X7F║@X07"
-
- ANSIPOS 1,4+a
- PRINT "@X70│@X75 "+name
- ANSIPOS 33,4+a
- PRINT "@X71"+number
- ANSIPOS 60, 4+a
- PRINTLN "@X70"+sysop
- ANSIPOS 1, 5+a
- PRINT "@X70│@X74 "+ baud_choice
- ANSIPOS 33, 5+a
- PRINT "@X7F"+ mod_choice
- ANSIPOS 60, 5+A
- PRINTLN "@X7E"+ bbs_choice
- LET match = TRUE
- LET a = a + 2
- LET b = b + 1
-
- IF (b > max) THEN
- GOSUB footer
- LET hotkey = ""
- PRINT "@X0APress @X0DReturn @X0Ato Continue @X0E-OR- @X0DESC @X0ATO QUIT@X07"
- WHILE (hotkey <> chr(13)) DO
- LET hotkey = INKEY()
- LET hotkey = UPPER(hotkey)
- IF (hotkey = CHR(27)) THEN
- LET hotkey = ""
- FCLOSE 1
- let a = 0
- let b = 1
- RETURN
- ENDIF
- ENDWHILE
- LET hotkey = ""
- LET a = 0
- ENDIF
-
- ENDIF
-
-
- FGET 1, name
- FGET 1, number
- FGET 1, sysop
- FGet 1, s_date
- FGET 1, b_user
- FGET 1, check
- FGET 1, bbs_choice 'Type of Software
- FGET 1, mod_choice 'Type of Modem
- FGET 1, baud_choice
-
- hold = LEFT(number, 4)
- hold = LTRIM(HOLD, "(")
-
- ENDWHILE
-
- IF (b <= max) THEN
- GOSUB footer
- WAIT
- LET b = 1
- LET a = 0
- ENDIF
-
- FCLOSE 1
-
-
- RETURN
-
- :header
- PRINTLN "@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
- PRINTLN "@X70│@X71 Listing of BBSes in the ", "@X0B"+code, "@X71 area code. @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- LET a = 0
- RETURN
-
- :footer
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70└────────────────────────────────────────────────────────────────────────────@X7F╝@X07"
- RETURN
-
- :gen_view
-
- LET a = 0
- LET b = 1
-
- CLS
- FOPEN 1, PPEPATH()+"BBS", O_RD, S_DW
- FREWIND 1
-
- GOSUB gen_header
-
- FGET 1, name
- FGET 1, number
- FGET 1, sysop
- FGet 1, s_date
- FGET 1, b_user
- FGET 1, check
- FGET 1, bbs_choice 'Type of Software
- FGET 1, mod_choice 'Type of Modem
- FGET 1, baud_choice
-
-
- WHILE (!FERR(1)) DO
-
- IF (b > gen_max) THEN
- GOSUB gen_header
- LET b = 1
- ENDIF
-
- ANSIPOS 1,4+a
- PRINTLN "@X70│ @X7F║@X07"
-
- ANSIPOS 1,4+a
- PRINT "@X70│@X75 "+name
- ANSIPOS 33,4+a
- PRINT "@X71"+number
- ANSIPOS 60, 4+a
- PRINTLN "@X70"+sysop
- LET a = a + 1
- LET b = b + 1
-
- IF (b > gen_max) THEN
- GOSUB gen_footer
- LET hotkey = ""
- PRINT "@X0APress @X0DReturn @X0Ato Continue @X0E-OR- @X0DESC @X0ATO QUIT@X07"
- WHILE (hotkey <> chr(13)) DO
- LET hotkey = INKEY()
- LET hotkey = UPPER(hotkey)
- IF (hotkey = CHR(27)) THEN
- LET hotkey = ""
- FCLOSE 1
- let a = 0
- let b = 1
- RETURN
- ENDIF
- ENDWHILE
- LET hotkey = ""
-
- LET a = 0
- ENDIF
-
- FGET 1, name
- FGET 1, number
- FGET 1, sysop
- FGet 1, s_date
- FGET 1, b_user
- FGET 1, check
- FGET 1, bbs_choice 'Type of Software
- FGET 1, mod_choice 'Type of Modem
- FGET 1, baud_choice
-
-
- ENDWHILE
-
- IF (b <= gen_max) THEN
- GOSUB gen_footer
- WAIT
- LET b = 1
- LET a = 0
- ENDIF
-
-
-
-
-
-
-
- FCLOSE 1
-
-
- RETURN
-
- :gen_header
- PRINTLN "@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
- PRINTLN "@X70│@X71 General BBS Listing @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- LET a = 0
- RETURN
-
- :gen_footer
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70└────────────────────────────────────────────────────────────────────────────@X7F╝@X07"
- RETURN
-
- :Data_Entry
- CLS
- Let count = 0 ' Reset Counter
- Let x = 0 'Reset X counter
- Let cmd = ""
- GOSUB GET_INFO 'Retreive Stored info
- count = count + 1;
- stored = count
-
- GOSUB name_of_bbs
- GOSUB sysop_of_bbs
- GOSUB phone_of_bbs
- GOSUB ask_mark
- GOSUB pick_software
- GOSUB pick_modem
- GOSUB pick_baud
- GOSUB edit_menu
-
- if (cmd = "A") THEN
- count = count - 1
- stored = 0
- endif
-
- RETURN
-
- :bmaker 'Create a Generic Bulletin that can be used as Logoff Screen
- FCREATE 5, PPEPATH()+"LISTING.TXT", O_WR, S_DN
- FREWIND 5
-
- FOR x = 1 to count
-
- FPUTPAD 5, bbs_name(x), -20
- FPUTPAD 5, bbs_phone(x), -17
- FPUTPAD 5, bbs_sysop(x), 23
- FPUTLN 5
- FPUTPAD 5, bbs_soft(x), -20
- FPUTPAD 5, bbs_modem(x), -20
- FPUTPAD 5, bbs_baud(x), 20
- FPUTLN 5
- FPUTLN 5
-
- NEXT
- FCLOSE 5
- FCREATE 4, PPEPATH()+"GOODBYEG", O_WR, S_DN
- FPUTLN 4,"@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
- FPUTLN 4,"@X70│ @X74BBS LISTER 2.00 @X7F║@X07"
- FPUTLN 4,"@X70│ @X7F║@X07"
- FPUTLN 4,"@X70│ @X71Bulletin Board @X7FTelephone @X74Sysop's @X70Date @X7F║@X07"
- FPUTLN 4,"@X70│ @X71Name @X7F Number @X74Name @X70Posted @X7F║@X07"
- FPUTLN 4,"@X70│ @X7F║@X07"
-
-
- FCREATE 6, PPEPATH()+"SYSOPG", O_WR, S_DN
- FOR x = 1 to count
-
- IF (mark(x) = "Y") THEN
- FPUT 6, "@X70│@X71 "
- FPUTPAD 6, bbs_name(x), -20
- FPUTPAD 6, bbs_phone(x), -17
- FPUTPAD 6, bbs_sysop(x),-23
- FPUTPAD 6, stamp_date(x), -15
- FPUTLN 6, "@X7F║@X07"
- ENDIF
-
- NEXT
- FCLOSE 6 'Channel for writting BBSs in bulletin form.
-
- FOPEN 2, PPEPATH()+"SYSOPG", O_RD, S_DW
- FREWIND 2
- FGET 2, line
- WHILE (!FERR(2)) DO
- FPUTLN 4, line
- FGET 2, line
- ENDWHILE
-
- FCLOSE 2 'Put BBSs in Bullentin Lister
- FPUTLN 4,"@X70│ @X7F║@X07"
- FPUTLN 4,"@X70│ @X71PEPSTER'S PLACE (313) 421-9145 SYSOP : JOHN PEPP (AUTHOR OF BBS LISTER) @X7F║@X07"
- FPUTLN 4,"@X70└────────────────────────────────────────────────────────────────────────────╜@X07"
- FCLOSE 4 'Channel for Bullentin Lister
- RETURN
-
- :ENTER_INFO 'Create Text File OF BBS Listings
-
- FCREATE 1, PPEPATH()+"BBS", O_WR, S_DN
-
- FOR x = 1 TO count
- FPUTLN 1, bbs_name(x)
- FPUTLN 1, bbs_phone(x)
- FPUTLN 1, bbs_sysop(x)
- FPUTLN 1, stamp_date(x)
- FPUTLN 1, current_user(x)
- FPUTLN 1, mark(x)
- FPUTLN 1, bbs_soft(x) 'BBS software
- FPUTLN 1, bbs_modem(x) 'Modem
- FPUTLN 1, bbs_baud(x)
- NEXT
-
- FCLOSE 1
-
- FCREATE 2, PPEPATH()+"TOTAL", O_WR, S_DN
- FPUTLN 2, count
- FCLOSE 2
-
- RETURN
-
-
- :sysop_com 'IF user has high enough security to add/delete/modify.
-
- GOSUB sysop_header
- LET hotkey = ""
-
- WHILE (hotkey <> "Q") DO
-
- LET hotkey = ""
- LET hotkey = INKEY()
- LET hotkey = UPPER(hotkey)
-
- IF (hotkey = "M") THEN
- GOSUB sysop_mod
- GOSUB sysop_header
- ELSE IF (hotkey = "D") THEN
- GOSUB sysop_del
- GOSUB sysop_header
- ENDIF
-
- ENDWHILE
-
- LET hotkey = ""
-
- RETURN
-
- :sysop_mod 'Modification of USERS List
-
- GOSUB get_info
- CLS
- NEWLINE
- INPUTSTR "Please enter BBS Name to be modified", search_name, @X0B, 25, MASK_ASCII(), NEWLINE+FIELDLEN+GUIDE
- FOR x = 1 TO count
- IF (MIXED(search_name) = MIXED(bbs_name(X))) THEN
- stored = x 'Store Users Record
- GOSUB edit_menu
- LET found_name = TRUE
- ENDIF
- NEXT
-
- IF (!(found_name)) THEN
- CLS
- PRINTLN "Name not found"
- WAIT
- ENDIF
-
- LET found_name = FALSE
-
- RETURN
-
- :sysop_del 'Delete User from List
- GOSUB get_info
- CLS
- NEWLINE
- INPUTSTR "Please enter BBS Name to be deleted", search_name, @X0B, 25, MASK_ASCII(), NEWLINE+FIELDLEN+GUIDE
- FOR x = 1 TO count
- IF (MIXED(search_name) = MIXED(bbs_name(X))) THEN
- PRINTLN "@X0CBBS Name @X0F| @X07", "@X0A"+bbs_name(x)
- PRINTLN "@X0CBBS Telephone Number of BBS @X0F| @X07", "@X0A"+bbs_phone(x)
- PRINTLN "@X0CBBS Sysop @X0F| @X07", "@X0A"+bbs_sysop(x)
- PRINTLN "@X0CType of BBS Software @X0F| @X07", "@X0A"+bbs_soft(x)
- PRINTLN "@X0CType of Modem @X0F| @X07", "@X0A"+bbs_modem(x)
- PRINTLN "@X0CBaud Rate @X0F| @X07", "@X0A"+bbs_baud(x)
- PRINTLN "@X0CLogOff Screen (Y/N) @X0F| @X07", "@X0A"+mark(x)
- NEWLINES 2
- PRINT "@X0BAre you sure you want to delete? (Y/N)@X07"
- WHILE (hotkey <> "Q") DO
- LET hotkey = ""
- LET hotkey = INKEY()
- LET hotkey = UPPER(hotkey)
-
- IF (hotkey = "Q") THEN
- LET hotkey = ""
- ENDIF
-
- IF (hotkey = "Y") THEN
- LET bbs_name(x) = bbs_name(count)
- LET bbs_phone(x) = bbs_phone(count)
- LET bbs_sysop(x) = bbs_sysop(count)
- LET bbs_soft(x) = bbs_soft(count)
- LET bbs_modem(x) = bbs_modem(count)
- LET bbs_baud(x) = bbs_baud(count)
- LET mark(x) = mark(count)
- LET count = count - 1
- GOSUB enter_info
- GOSUB bmaker
- LET hotkey = "Q"
- ELSEIF (hotkey = "N") THEN
- LET hotkey = "Q"
- ENDIF
- ENDWHILE
-
- LET hotkey = ""
- LET found_name = TRUE
- ENDIF
-
- NEXT
-
- IF (!(found_name)) THEN
- CLS
- PRINTLN "Name not found"
- WAIT
- ENDIF
-
- LET found_name = FALSE
-
- RETURN
-
- :sysop_header
-
- CLS
- PRINTLN "@X71╔═══════════════════════════════╤══════════════════════╤══════════════════════╕@X07"
- PRINTLN "@X71║ @X74BBS LISTER 2.00 @X71│ @X70 SYSOP MENU @X71│ @X75AUTHOR : JOHN PEPP @X71│@X07"
- PRINTLN "@X71╠═══╤═══════════════════════════╧══════════════════════╧══════════════════════╡@X07"
- PRINTLN "@X71@X71║ @X70M @X71│ @X74Modify or Change USER response(s) @X7F{ Change GOODBYE option } @X71│@X07"
- PRINTLN "@X71╠═══╪═════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X70D @X71│ @X74Delete a BBS Listing @X71│@X07"
- PRINTLN "@X71╠═══╪═════════════════════════════════════════════════════════════════════════╡@X07"
- PRINTLN "@X71║ @X70Q @X71│ @X74Quit to Main Menu @X71│@X07"
- PRINTLN "@X71╙───┴─────────────────────────────────────────────────────────────────────────┘@X07"
-
- RETURN
-
- :GET_INFO
-
- FOPEN 3, PPEPATH()+"TOTAL", O_RD, S_DW
- FREWIND 3
-
- IF (FERR(3)) THEN
- SPRINTLN "Error, File Doesn't Exist"
- Let count = 0
- GOTO skip 'No need to open other file
- ENDIF
-
- IF (!FERR(3)) THEN
- FGET 3, count
- ENDIF
-
- IF (count >= total) THEN
- max_bull = TRUE
- ENDIF
-
- FOPEN 1, PPEPATH()+"BBS", O_RD, S_DW
- FREWIND 1
- FOR x = 1 TO count
-
- FGET 1, bbs_name(x)
- FGET 1, bbs_phone(x)
- FGET 1, bbs_sysop(x)
- FGET 1, stamp_date(x)
- FGET 1, current_user(x)
- FGET 1, mark(x)
- FGET 1, bbs_soft(x)
- FGET 1, bbs_modem(x)
- FGET 1, bbs_baud(x)
-
- IF (U_NAME() = current_user(X)) THEN
- no_add = TRUE
- stored = x 'Store Users Record
- ENDIF
-
- NEXT
- FCLOSE 1
- :skip 'File Doesn't Exist No Need for Opening It!
-
- FCLOSE 3
-
- RETURN
-
- :name_of_bbs 'Subroutine to have user choose bbs software
-
-
-
-
- INPUTSTR "Enter BBS Name : ", name, @X0B, 20, MASK_ASCII(), FIELDLEN+GUIDE+NEWLINE
- LET bbs_name(stored) = name
-
- RETURN
-
- :sysop_of_bbs
-
- INPUTSTR "Enter BBS Sysop's Name : ", sysop, @X0B, 20, MASK_ASCII(), FIELDLEN+GUIDE+NEWLINE
- LET bbs_sysop(stored) = sysop
- LET current_user(stored) = U_NAME()
- RETURN
-
- :phone_of_bbs
-
- CLS
- PRINTLN "@X0FPlease Enter BBS Telephone Number."
- NEWLINES 5
- INPUTSTR "Area Code", areacode, @X0B, 3, "1234567890", FIELDLEN+GUIDE+NEWLINE
- INPUTSTR "Prefix", prefix, @X0B, 3, "1234567890", FIELDLEN+GUIDE+NEWLINE
- INPUTSTR "Suffix", suffix, @X0B, 4, "1234567890", FIELDLEN+GUIDE+NEWLINE
- LET bbs_phone(stored) = "("+areacode+") "+prefix+"-"+suffix
- LET stamp_date(stored) = DATE() 'Stamp the Date the USER entered the BBS
-
- RETURN
-
- :pick_software
-
- PRINTLN "@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
- PRINTLN "@X70│ @X74Pepster's Place BBS Software Picker @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X71No. @X75Software @X71No. @X75Software @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X71 1. @X75 PCBoard @X71 9. @X75Renegade @X7F║@X07"
- PRINTLN "@X70│ @X712. @X75Wildcat @X71 10. @X75Powerboard BBS @X7F║@X07"
- PRINTLN "@X70│ @X713. @X75The Major BBS @X7111. @X75Magnum BBS @X7F║@X07"
- PRINTLN "@X70│ @X714. @X75SearchLight BBS @X7112. @X75Spitfire BBS @X7F║@X07"
- PRINTLN "@X70│ @X715. @X75TBBS @X7113. @X75RoboBoard/FX @X7F║@X07"
- PRINTLN "@X70│ @X716. @X75TAG @X7114. @X75RY BBS @X7F║@X07"
- PRINTLN "@X70│ @X717. @X75Remote Access @X7115. @X75Virtual BBS @X7F║@X07"
- PRINTLN "@X70│ @X718. @X75GAP @X7116. @X75Other BBS Software @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X74Version 1.50 @X7F║@X07"
- PRINTLN "@X70└────────────────────────────────────────────────────────────────────────────@X7F╝@X07"
-
- INPUTSTR "Please Pick the Corresponding BBS Software (1-16)", i, @X0B, 2, MASK_NUM(), NEWLINE
- IF (i > 16) THEN GOTO pick_software
- ENDIF
- IF (i < 1) THEN GOTO pick_software
- ENDIF
-
- LET bbs_soft(stored) = top_soft(i)
-
- LET i = 0
-
- RETURN
-
- :pick_modem
- ;Generat Modem Sysop uses.......
-
- PRINTLN "@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
- PRINTLN "@X70│ @X74Pepster's Place Modem Picker @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X71No. @X75Company @X71No. @X75Company @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X71 1. @X75 AT&T Paradyne @X7111. @X75Microcom @X7F║@X07"
- PRINTLN "@X70│ @X712. @X75ATI Technologies @X71 12. @X75Multi-Tech Systems @X7F║@X07"
- PRINTLN "@X70│ @X713. @X75Cardinal Technologies @X7113. @X75Pratical Peripherals @X7F║@X07"
- PRINTLN "@X70│ @X714. @X75Computer Peripherals @X7114. @X75Supra Corporation @X7F║@X07"
- PRINTLN "@X70│ @X715. @X75Digicom Systems @X7115. @X75Telebit Corporation @X7F║@X07"
- PRINTLN "@X70│ @X716. @X75Galaxy Networks @X7116. @X75U.S. Robotics @X7F║@X07"
- PRINTLN "@X70│ @X717. @X75GVC Technologies @X7117. @X75Ven-Tel @X7F║@X07"
- PRINTLN "@X70│ @X718. @X75Hayes Microcomputer @X7118. @X75ZyXEL @X7F║@X07"
- PRINTLN "@X70│ @X719. @X75Image Communications @X7119. @X75Zoom Telephonics @X7F║@X07"
- PRINTLN "@X70│ @X71 10. @X75Intel Corporation @X7120. @X75Other @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X74Version 1.50 @X7F║@X07"
- PRINTLN "@X70└────────────────────────────────────────────────────────────────────────────@X7F╝@X07"
- NEWLINE
- INPUTSTR "Please Pick the Corresponding Modem Number (1-20)", i, @X0B, 2, MASK_NUM(), NEWLINE
- IF (i > 20) THEN GOTO pick_modem
- ENDIF
- IF (i < 1) THEN GOTO pick_modem
- ENDIF
-
- LET bbs_modem(stored) = top_modem(i)
-
- Let i = 0
- RETURN
-
- :pick_baud
-
- PRINTLN "@CLS@@X70╒@X7F═══════════════════════════════════════╗@X07"
- PRINTLN "@X70│ @X71What Baud Rate Do You Support? @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X701. @X741200/2400 @X7F║@X07"
- PRINTLN "@X70│ 2. @X742400 @X7F║@X07"
- PRINTLN "@X70│ 3. @X742400/9600/14400 @X7F║@X07"
- PRINTLN "@X70│ 4. @X749600/14400/19200 @X71 @X7F║@X07"
- PRINTLN "@X70│ 5. @X7419200+ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X7F║@X07"
- PRINTLN "@X70│ @X75*Note : I realize that this @X7F║@X07"
- PRINTLN "@X70│ @X75doesn't cover everthing, so @X7F║@X07"
- PRINTLN "@X70│ @X75please choose the closest. @X7F║@X07"
- PRINTLN "@X70└───────────────────────────────────────@X7F╝@X07"
- INPUTSTR "Please Pick the Corresponding baud rate (1-5)", i, @X0B, 2, MASK_NUM(), NEWLINE
- IF (i > 5) THEN GOTO pick_baud
- ENDIF
- IF (i < 1) THEN GOTO pick_baud
- ENDIF
-
- LET bbs_baud(stored) = top_baud(i)
-
- LET i = 0
-
- RETURN
-
- :edit_menu
-
- WHILE (!(edit_exit)) DO
- CLS
- PRINTLN "@X0AThe Edit Menu "
- NEWLINES 2
- PRINTLN "@X0BBBS (@X0DN@X0B)ame @X0F| @X07", "@X0A"+bbs_name(stored)
- PRINTLN "@X0BBBS (@X0DT@X0B)elephone Number of BBS @X0F| @X07", "@X0A"+bbs_phone(stored)
- PRINTLN "@X0BBBS S(@X0DY@X0B)sop @X0F| @X07", "@X0A"+bbs_sysop(stored)
- PRINTLN "@X0BType of (@X0DB@X0B)BS Software @X0F| @X07", "@X0A"+bbs_soft(stored)
- PRINTLN "@X0BType of (@X0DM@X0B)odem @X0F| @X07", "@X0A"+bbs_modem(stored)
- PRINTLN "@X0BBaud (@X0DR@X0B)ate @X0F| @X07", "@X0A"+bbs_baud(stored)
- PRINTLN "@X0BLog(@X0DO@X0B)ff Screen (Y/N) @X0F| @X07", "@X0A"+mark(stored)
-
- PRINTLN
- PRINTLN "@X0A(@X0CS@X0A)ave Changes@X07"
- PRINTLN "@X0A(@X0CA@X0A)bort Changes@X07 "
- NEWLINE
- LET cmd = " "
-
- INPUTSTR "Enter B, M, N, T, Y, R, O, S, or A ", cmd, @X0B, 1, "BMNTYROSA", UPCASE+FIELDLEN+GUIDE+NEWLINE
-
- IF (cmd = "A") THEN
- CLS
- PRINTLN "@X8CAborting and Returning to Menu@X07"
- LET name = ""
- LET sysop = ""
- LET areacode = ""
- LET prefix = ""
- LET suffix = ""
- RETURN
- ELSE IF (cmd = "R") THEN
- GOSUB pick_baud
- ELSE IF (cmd = "B") THEN
- GOSUB pick_software
- ELSE IF (cmd = "M") THEN
- GOSUB pick_modem
- ELSE IF (cmd = "N") THEN
- GOSUB name_of_bbs
- ELSE IF (cmd = "T") THEN
- GOSUB phone_of_bbs
- ELSE IF (cmd = "Y") THEN
- GOSUB sysop_of_bbs
- ELSE IF (cmd = "O") THEN
- GOSUB ask_mark
- ELSE IF (cmd = "S") THEN
- CLS
- GOSUB enter_info
- GOSUB bmaker 'Generate Bulletin
- edit_exit = TRUE
- ENDIF
-
- ENDWHILE
- edit_exit = FALSE 'Set Back Flag to False
- RETURN
-
- :ask_mark
-
- CLS
- IF (CURSEC() => bull_level) THEN
- INPUTSTR "Do you want you bbs to show up on Goodbye Screen (Y/N)", mark(stored), @X0E, 1, "", AUTO+YESNO
- ELSE
- PRINTLN "@X0CIf you wish to have a Logoff Listing on @BOARDNAME@@X07"
- PRINTLN "@X0CPlease Leave a Private Message to the Sysop "
- PRINTLN "@X0A-OR-@X07"
- PRINTLN "@X0FRent A Line for $5.00@X07"
- PRINTLN "@X0BMake check/money order (Do Not Send Cash!) to : "
- PRINTLN "John Pepp "
- PRINTLN "P.O. Box 51171 "
- PRINTLN "Livonia, Mi 48151@X07"
- DELAY 18*7
- mark(stored) = "N"
- ENDIF
-
- RETURN
-